package com.sitia.jd.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sitia.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * mx订单对象 mx_order
 * 
 * @author sitia
 * @date 2023-05-22
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class MxOrder
{
   /* mx_order表状态Status
0:未获取，1已获取，2获取中，3 已发货，待确认收货，4用户取消，5 订单完成
    mx_order表状态Login_Status:
        -1：需重新登陆，0:未登陆，1：已登陆，*/
    private static final long serialVersionUID = 1L;

    public static String LOGIN_STATUS_LOGIN = "1";//登陆状态为已登陆
    public static String LOGIN_STATUS_UN_LOGIN = "0";//登陆状态为未登陆
    public static String LOGIN_STATUS_RE_LOGIN = "-1";//登陆状态为重新登陆


    public static String ORDER_STATUS_UN_COMPLETE = "0";//未获取
    public static String ORDER_STATUS_COMPLETE = "1";//已获取
    public static String ORDER_STATUS_COMPLETING = "2";//获取中
    public static String ORDER_STATUS_USER_NOT_CONFIRM = "3";//待收货
    public static String ORDER_STATUS_USER_CANCEL = "4";//用户取消
    public static String ORDER_STATUS_ORDER_COMPLETE = "5";//订单完成
    /** 订单id */
    private String id;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;
    /**
     * 商品链接
     */
    private String goodsUrl;

    /** 预定抢购时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预定抢购时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date presetTime;
   @JsonFormat(pattern = "yyyy-MM-dd")
    private Date[] presetTimes;
    private Date presetTimeStar;
    private Date presetTimeEnd;

    /** 京东账号 */
    @Excel(name = "京东账号")
    private String jdAccount;

    /** 用户cookie */
    @Excel(name = "用户cookie")
    private String cookie;

    /** cookie登记时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "cookie登记时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cookieRecordTime;

    /** 咸鱼账号 */
    @Excel(name = "咸鱼账号")
    private String fishAccount;

    /** 客户姓名 */
    @Excel(name = "客户姓名")
    private String customerName;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String address;

    /** 电话 */
    @Excel(name = "电话")
    private String phoneNumber;

    /** 免息券类型 */
    @Excel(name = "免息券类型")
    private String mxType;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String status;

    /** 用户id */
    @Excel(name = "用户id")
    private String createUserId;

    /** 单件商品原价 */
    @Excel(name = "单件商品原价")
    private BigDecimal goodsOriginalPrice;

    /** 单件商品现价 */
    @Excel(name = "单件商品现价")
    private BigDecimal goodsNowPrice;

    /** 商品数量 */
    @Excel(name = "商品数量")
    private Integer goodsAmount;

    /** 订单总价 */
    @Excel(name = "订单总价")
    private BigDecimal orderPrice;

    /** 返现 */
    @Excel(name = "返现")
    private BigDecimal cashback;

    /** 订单实际收入 */
    @Excel(name = "订单实际收入")
    private BigDecimal realIncome;

    /** 订单归属人id */
    @Excel(name = "订单归属人id")
    private Long ownerUserId;

    @Excel(name = "订单归属人姓名")
    @TableField(exist = false)
    private String ownerUserName;

    /**
     * 用户登陆状态
     */
    private String loginStatus;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    private String remark;

   /**
    * 是否添加返利 (0-表示为添加，1表示已添加)
    */
   private String addRebate;
   /**
    * 返利链接
    */
  private String rebateUrl;

  /** 订单完成时间 */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date completeTime;
 /** 免息券来源(字典mx_source) */
 @Excel(name = "免息券来源(字典mx_source)")
 private String mxSource;

 /** 全部人显示（1全部人可见,0:指定角色可见） */
 @Excel(name = "全部人显示", readConverterExp = "1=全部人可见,0:指定角色可见")
 private String allShow;

 /** 显示的角色 */
 @Excel(name = "显示的角色")
 private String showRole;

 /** 是否删除，1是，0否 */
 @Excel(name = "是否删除，1是，0否")
 private String deleteOrder;

}
